User interface for presenting media information

ABSTRACT

A user interface and methods for using a user interface for controlling processing of time-based media files. In one exemplary method, a graphical representation of a time line for a time-based media is displayed along with a graphical representation of a current time along the graphical representation of the time line. A start graphical indicator and a stop graphical indicator is also displayed along the graphical representation of the time line. A portion of the time-based media may be selected for presentation by dragging or positioning at least one of the start graphical indicator and the stop graphical indicator along the graphical representation of the time line. In another aspect of the invention, an exemplary method allows for the adaptive control of a portion of the interface which indicates time relating to a time-based media. An input speed is determined where this input is to change the portion and the rate at which the change to this portion occurs is dependent upon the input speed. Other aspects of the present invention relating to the interface for controlling the processing of time-based media files are also described.

FIELD OF THE INVENTION

[0001] The present invention relates to user interfaces for processing(e.g., generating, storing, transmitting and/or receiving, playingback/displaying, editing, referencing, etc.) media information, such astime-based media data representing video and/or audio. In particular,the present invention provides an interactive digital processingsystem-controlled graphical user interface that provides functionalityfor play back or other processing of time-based and still media data.

INTRODUCTION AND BACKGROUND

[0002] There are a number of file structures used today to storetime-based media: audio formats such as AIFF, video formats such as AVI,and streaming formats such as RealMedia. They are different at least inpart because of their different focus and applicability. Some of theseformats are sufficiently widely accepted, broad in their application,and relatively easy to implement, that they are used not only forcontent delivery but also as interchange formats such as the QuickTime™file format. The QuickTime format is used today by many web sitesserving time-based data; in many authoring environments, includingprofessional ones; and on many multimedia CD ROM (e.g., DVD or CD-I)titles.

[0003] The QuickTime media layer supports the relatively efficientdisplay and management of general multimedia data, with an emphasis ontime-based material (video, audio, video and audio, motiongraphics/animation, etc.). The media layer uses the QuickTime fileformat as the storage and interchange format for media information. Thearchitectural capabilities of the layer are generally broader than theexisting implementations, and the file format is capable of representingmore information than is currently demanded by the existing QuickTimeimplementations. Furthermore, the QuickTime file format has structuresto represent the temporal behavior of general time-based streams, aconcept which covers the time-based emission of network packets, as wellas the time-based local presentation of multimedia data.

[0004] Given the capabilities and flexibility provided by time-basedmedia formats, it is desirable to provide a user interface that providessuitable functionality and flexibility for playback and/or otherprocessing of time-based media in such formats.

[0005] Prior user interfaces for controlling the presentation oftime-based media include user interfaces for the RealPlayers fromRealNetworks of Seattle, Wash., user interfaces for the QuickTimeMoviePlayers from Apple Computer, Inc. of Cupertino, Calif., and userinterfaces for the Windows Media Players from Microsoft Corporation ofRedmond, Wash. Also, there are a number of time-based media authoringsystems which allow the media to be created and edited, such as Premierefrom Adobe Systems of San Jose, Calif.

[0006] These prior user interfaces typically use “pop-up” or pull-downmenus to display controls (e.g. controls for controlling playback) or todisplay a list of “favorites” or “channels” which are typicallypredetermined, selected media (e.g. CNN or another broadcast sourcewhich is remotely located or a locally stored media source). While theselists or menus may be an acceptable way of presenting this information,the lists or menus may not be easily alterable and the alterationoperations are not intuitive. Further, these lists or menus are separatefrom any window presenting the media and thus do not appear to be partof such window.

[0007] In some prior user interfaces, the various controls are displayedon a border of the same window which presents the media. For example, atime bar may be displayed on a window with controls for playback on thesame window. While these controls are readily visible and available to auser, a large number of controls on a window causes the window to appearcomplex and tends to intimidate a novice user.

[0008] Some prior user interfaces include the ability to select, forpresentation, certain chapters or sections of a media. LaserDisc playerstypically include this capability which may be used when the media issegmented into chapters or sections. A user may be presented with a listof chapters or sections and may select a chapter or section from thelist. When this list contains a large number of chapters or sections,the user may scroll through the list but the speed of scrolling is fixedat a single, predetermined rate. Thus, the user's ability to scrollthrough a list of chapters is limited in these prior user interfaces.

[0009] Certain prior user interfaces which allow for editing oftime-based media may include the ability of selecting a range of time ofthe media for editing in that selected range. However, these interfacesdo not allow for the playback, through a single playback button, of aselected range of a media which has been selected by at least onedragging action of an indicator.

SUMMARY OF THE INVENTION

[0010] The present invention relates to various aspects for controllingand/or presenting information concerning time-based media, such as amovie.

[0011] In one aspect of the invention, an exemplary method of theinvention allows for the selection of a presentation of time-basedmedia. In this method, a graphical representation of a time line for thetime-based media is displayed, and a graphical representation of acurrent time is also displayed along the graphical representation of thetime line. A start graphical indicator and a stop graphical indicator isalso displayed along the graphical representation of the time line. Thestart graphical indicator or the stop graphical indicator may bepositioned, for example, by dragging, either of the indicator along thegraphical representation of the time line to select a portion of thetime-based media for presentation. In one typical example of thismethod, both the start graphical indicator and the stop graphicalindicator may be dragged along the time line to select a portion of amovie for presentation.

[0012] According to another aspect of the present invention, a method isprovided for generating an interface for display for controlling theprocessing of time-based media data. A first set of data representing agraphical user interface as a primary window is generated and displayed.A second set of data representing a drawer window is generated andcontains objects such as representations (e.g. icons) of “favorites” or“channels” media. In a first display state, the drawer window is atleast partially overlapped by the primary window, and in a seconddisplay state is at least partially viewable. In one embodiment, thedrawer window appears to be part of the primary window and slides underthe primary window when the drawer window is closed. In one embodiment,when the primary window is moved, the drawer window moves with theprimary window as part of the primary window. The drawer window, in oneembodiment, provides a plurality of locations which are fixed andpredetermined, each for displaying a time-based media icon (e.g. athumbnail image) associated with a time-based media file. In oneembodiment, the thumbnail image represents a favorite or channeltime-based media, and the user may drag an icon into the drawer windowor out of the drawer window in order to alter the contents of the drawerwindow.

[0013] According to another aspect of the present invention, a method isprovided for generating a graphical user interface for control ofprocessing of time-based media data. In an exemplary method according tothis aspect, a first set of data representing the graphical userinterface is generated and displayed as a primary window. A second setof data representing an auxiliary drawer window is generated fordisplay. In a first display state, the auxiliary drawer window is atleast partially overlapped by the primary window and in a second displaystate it is at least partially viewable. In one embodiment, theauxiliary drawer window appears to be part of the primary window andslides under the primary window when the auxiliary drawer is closed.When the primary window is moved in one embodiment, the auxiliary drawerwindow moves with the primary window as part of the primary window. Inone embodiment, the auxiliary drawer window provides informationrelating to a time-based media file or controls for the control of atime-based media file.

[0014] According to another aspect of the present invention, a method isprovided for controlling a graphical user interface which processestime-based media information. In one exemplary method of this aspect,input to change a portion of the graphical user interface is detected.This portion indicates time relating to the time-based media. An inputspeed of the input is determined and a rate at which to change theportion is also determined, where the rate is dependent on the inputspeed. The information displayed in the portion is changed according tothe rate which is dependent upon the input speed. In one particularexample according to this aspect of the invention, a chapter selectionmechanism allows the user to select different chapters within a movie bycausing a chapter display area to have chapters scroll within the area.The speed of scrolling is controlled by the movement of a cursor orother input.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a diagram of a network of computer systems in whichmedia data may be processed, according to one embodiment of the presentinvention.

[0016]FIG. 2 is a block diagram of a digital processing system which maybe used to process time-based media data, in accordance with oneembodiment of the present invention.

[0017]FIG. 3A shows a GUI (graphical user interface), and in particular,a time-based media player display window for displaying, controlling,and/or otherwise processing time-based media data, according to oneembodiment of the invention.

[0018]FIG. 3B shows an example of an audio-only window for a time-basedmedia player.

[0019]FIG. 4 illustrate the time-based media player of FIG. 3A depictinga favorite/channel drawer that is partially open (i.e., partiallydisplayed), according to one embodiment of the invention.

[0020]FIG. 5A is a diagram of a time-based media player providing afavorite/channel drawer generated as a GUI, according to one embodimentof the invention.

[0021]FIG. 5B shows an example of a user interface for altering theicons in a drawer of a player window according to one embodiment of theinvention.

[0022]FIG. 6A is a diagram of time-based media player providing aninformation panel (or drawer) window generated as GUI, according to oneembodiment of the invention.

[0023]FIG. 6B is a diagram of a time-based media player providing acontrol panel (or drawer) window generated as a GUI, according to oneembodiment of the invention.

[0024]FIG. 7A illustrates a time/chapter display control of a time-basedmedia player generated as a GUI, and in particular, FIG. 7A illustratesan adaptive chapter display/control, according to one embodiment of theinvention.

[0025]FIG. 7B illustrates a time/chapter display control of a time-basedmedia player generated as a GUI, and in particular, FIG. 7B illustratesan adaptive chapter display/control, according to one embodiment of theinvention.

[0026] FIGS. 7C-7J show the scrolling capabilities of the chapterdisplay area 260 according to one embodiment of the invention.

[0027]FIG. 8A illustrates a GUI mechanism of a time-based media playerfor selecting a range of time within a time-based media file, accordingto one embodiment of the invention.

[0028]FIG. 8B illustrates a GUI mechanism of a time-based media playerfor selecting a range of time within a time-based media file, accordingto one embodiment of the invention.

[0029]FIG. 8C illustrates a flowchart which shows a method for selectinga range of time for playback of a time-based media file.

[0030] FIGS. 8D-8F show an example of a timecode mode selector interfacewhich may be used with the current time, start and end markers.

[0031]FIG. 9A illustrates an adaptive streaming status message displayof a time-based media player generated as a GUI, according to oneembodiment of the invention.

[0032]FIG. 9B illustrates an adaptive streaming status message displayof a time-based media player generated as a GUI, according to oneembodiment of the invention.

[0033] FIGS. 9C-9H show another example of a status message display fora media player according to the present invention.

[0034] FIGS. 10A-10C illustrate resizing a time-based media playergenerated as a GUI and/or a display window for displaying time-basedimages, according to one embodiment of the invention. FIG. 10D is aflowchart which shows one method for controlling the display of atime-based media player during a resizing operation. FIGS. 10E and 10Fshow examples of resizing operations.

[0035]FIG. 11 is a flow diagram illustrating a method for providing afavorite/channel drawer window for a time-based media player generatedas a GUI, according to one embodiment of the invention.

[0036]FIG. 12A is a flow diagram illustrating a method for providingadaptive chapter/time selection for play back or other processing oftime-based media in a GUI, according to one embodiment of the invention.FIG. 12B shows an example of a chapter selection interface whichadaptively scrolls a chapter indicator (e.g. a chapter number or name)in response to user input (e.g. speed of cursor movement).

[0037]FIG. 13 is a flow diagram illustrating a method for providingauxiliary drawers/panels for a time-based media player generated as aGUI, according to one embodiment of the invention.

[0038]FIG. 14 is a block diagram of a machine-readable medium storingexecutable code and/or other data to provide one or a combination ofmechanisms for play back or other processing of time-based media in aGUI, according to one embodiment of the invention.

DETAILED DESCRIPTION

[0039] The present invention provides methods and apparatuses forprocessing media information. In one embodiment of the presentinvention, a graphical user interface (GUI) is provided that includes anumber of features for referencing, playing back, and/or otherwiseprocessing time-based media information (e.g., video, animated graphics,and/or audio, etc.). In one embodiment, the GUI, also sometimes referredto as a media player, provides functionality for processing time-basedmedia in the QuickTime format, such as QuickTime “movies,” whichtypically include audio and motion video information. Although thepresent invention is described with reference to the QuickTime mediadata format, it will be appreciated that the invention may also be usedin a variety of environments, in conjunction with other media dataformats, and with various types of data processing systems having anumber of different types of architectures. Thus, the invention shouldnot be limited to the systems, media data formats, or architecturesdisclosed herein, which are meant only to provide an understanding ofthe invention, whose scope is defined by the claims which follow.

Hardware Overview

[0040]FIG. 1 is a diagram of a network of computer systems in whichmedia data may be processed, according to one embodiment of the presentinvention. As shown in FIG. 1, a network 100 includes a number of clientcomputer systems that are coupled together through an Internet 122. Itwill be appreciated that the term “Internet” refers to a network ofnetworks. Such networks may use a variety of protocols for exchange ofinformation, such as TCP/IP, ATM, SNA, SDI, etc. The physicalconnections of the Internet and the protocols and communicationprocedures of the Internet are well known to those in the art.

[0041] Access to the Internet 122 is typically provided by Internetservice providers (ISPs), such as the ISP 124 and the ISP 126. Users onclient systems, such as the client computer systems 102, 104, 118, and120, generally obtain access to the Internet through Internet serviceproviders, such as ISPs 124 and 126. Access to the Internet mayfacilitate transfer of information (e.g., email, text files, mediafiles, etc.) between two or more digital processing systems, such as theclient computer systems 102, 104, 118, and 120 and/or a Web serversystem 128. For example, one or more of the client computer systems 102,104, 118, and 120 and/or the Web server 128 may provide media data(e.g., video and audio, or video, or audio) to another one or more ofthe client computer systems 102, 104, 118, and 120 and/or the Web server128. For example, in one embodiment of the invention, one or more of theclient computer systems 102, 104, 118 and 120 may request play-back oftime-based media data that may be stored at a remote location, such asthe Web server 128. In the case of remote storage, the data may betransferred as a file (e.g. downloaded) and then played back aftertransferring the file or, if a streaming media system is available, thedata may be played back at the client while the transfer occurs. Inanother embodiment, the requested time-based media data may be storedlocally at the client computer system 102, 104, 118, and/or 120. In thecase of local storage, the client system may play back time-based mediausing a playback system (e.g. a QuickTime Player) without requiring anetwork connection.

[0042] The Web server 128 typically includes at least one computersystem to operate with one or more data communication protocols, such asthe protocols of the World Wide Web, and as such, is typically coupledto the Internet 122. Optionally, the Web server 128 may be part of anISP which may provide access to the Internet and/or other network(s) forclient computer systems. The client computer systems 102, 104, 118, and120 may each, with appropriate web browsing software, access data, suchas HTML documents (e.g., Web pages), which may be provided by the Webserver 128. Such data may provide media, such as QuickTime movies, whichmay be played back/presented by the client computer systems 102, 104,118, and 120.

[0043] The ISP 124 provides Internet connectivity to the client computersystem 102 via a modem interface 106, which may be considered as part ofthe client computer system 102. The client computer systems 102, 104,118, and 620 may be a conventional data processing system, such as aMacintosh computer, a “network” computer, a handheld/portable computer,a Web TV system, or other types of digital processing systems (e.g., acellular telephone having digital processing capabilities).

[0044] Similarly, the ISP 126 provides Internet connectivity for theclient computer systems 104, 118 and 120. However, as depicted in FIG.1, such connectivity may vary between various client computer systems,such as the client computer systems 102, 104, 118, and 120. For example,as shown in FIG. 1, the client computer system 104 is coupled to the ISP126 through a modem interface 108, while the client computer systems 118and 120 are part of a Local Area Network (LAN). The interfaces 106 and108, shown as modems 106 and 108, respectively, may represent an analogmodem, an ISDN modem, a cable modem, a satellite transmission interface(e.g., “Direct PC”), a wireless interface, or other interface forcoupling a digital processing system, such as a client computer system,to another digital processing system. The client computer systems 118and 120 are coupled to a LAN bus 112 through network interfaces 114 and116, respectively. The network interfaces 114 and 116 may be anEthernet-type, Asynchronous Transfer Mode (ATM), or other type ofnetwork interface. The LAN bus is also coupled to a gateway digitalprocessing system 110, which may provide firewall and otherInternet-related services for a LAN. The gateway digital processingsystem 110, in turn, is coupled to the ISP 126 to provide Internetconnectivity to the client computer systems 118 and 120. The gatewaydigital processing system 110 may, for example, include a conventionalserver computer system. Similarly, the Web server 128 may, for example,include a conventional server computer system.

[0045] The system 100 may allow one or more of the client computersystems 102, 104, 118, and 120 and/or the Web server 628 to providetime-based media data (e.g., video and audio, or video, or audio) toanother one or more of the client computer systems 102, 104, 118, and120 and/or the Web server 128. As described below, the present inventionfacilitates playing back and other functionality for processing themedia data.

[0046]FIG. 2 is a block diagram of a digital processing system which maybe used to process time-based media data, in accordance with oneembodiment of the present invention. For example, the digital processingsystem 150 shown in FIG. 2 may be used as a client computer system(e.g., the client computer system 102, 104, 118, and/or 120), a Webserver system (e.g., the Web server system 128), a conventional serversystem, etc. Furthermore, the digital processing system 150 may be usedto perform one or more functions of an Internet service provider, suchas the. ISP 124 or 126. The digital processing system 150 may beinterfaced to external systems through a modem or network interface 168.It will be appreciated that the modem or network interface 168 may beconsidered as part of the digital processing system 150. The modem ornetwork interface 168 may be an analog modem, an ISDN modem, a cablemodem, a token ring interface, a satellite transmission interface, awireless interface, or other interface(s) for providing a datacommunication link between two or more digital processing systems.

[0047] The digital processing system 150 includes a processor 152, whichmay represent one or more processors and may include one or moreconventional types of such processors, such as a Motorola PowerPCprocessor, an Intel Pentium (or x86) processor, etc. A memory 154 iscoupled to the processor 152 by a bus 156. The memory 154 may be adynamic random access memory (DRAM) and/or may include static RAM(SRAM). The processor may also be coupled to other types of storageareas/memories (e.g., cache, Flash memory, disk, etc.), which could beconsidered as part of the memory 154 or separate from the memory 154.

[0048] The bus 156 further couples the processor 152 to a displaycontroller 158, a mass memory 162, the modem or network interface 168,and an input/output (I/O) controller 164. The mass memory 162 mayrepresent a magnetic, optical, magneto-optical, tape, and/or other typeof machine-readable medium/device for storing information. For example,the mass memory 162 may represent a hard disk, a read-only or writeableoptical CD (e.g., CD ROM, DVD), etc. The display controller 158 controlsin a conventional manner a display 160, which may represent a cathoderay tube (CRT) display, a liquid crystal display (LCD), a plasmadisplay, or other type of display device. The I/O controller 164controls I/O device(s) 166, which may include one or more keyboards,mouse/trackball or other pointing devices, microphones (for speechrecognition capabilities), magnetic and/or optical disk drives,printers, scanners, digital cameras, microphones, etc.

[0049] It will be appreciated that the digital processing system 150represents only one example of a system, which may have many differentconfigurations and architectures, and which may be employed with thepresent invention. For example, Macintosh and other systems often havemultiple busses, such as a peripheral bus, a dedicated cache bus, etc.On the other hand, a network computer, which may be used as a digitalprocessing device of the present invention, may not include, forexample, a hard disk or other mass storage device, but may receiveroutines and/or data from a network connection, such as the modem orinterface 168, to be processed by the processor 152. Similarly, a Web TVsystem, which is known in the art, may be considered to be a digitalprocessing system of the present invention, but such a system may notinclude one or more I/O devices, such as those described above withreference to I/O device(s) 166. Additionally, a portable communicationand data processing system, which may employ a cellular telephone and/orpaging capabilities, may be considered a digital processing system whichmay be used with the present invention.

[0050] In the system 150 shown in FIG. 2, the mass memory 162 (and/orthe memory 154) may store time-based media (e.g., video, audio, movies,etc.) which may be processed according to the present invention.Alternatively, media data may be received by the digital processingsystem 150, for example, via the modem or network interface 168, andstored and/or presented by the digital processing system 150, forexample, via the display 160 and/or I/O device(s) 166, which may includeaudio speakers, headphones, and/or other media playback output devices.In one embodiment, packetized media data may be transmitted across adata communication network, such as a LAN and/or the Internet, inaccordance with the QuickTime format to be processed by the system 150in accordance with the present invention. On the other hand, the digitalprocessing system 150 may locally store time-based media data in themass memory 162, the memory 164, and/or another machine-readable mediumaccessible by the digital processing system 150, as well as executablecode that provides functionality for processing time-based media data inaccordance with the present invention.

Overview of One Embodiment of the Invention

[0051]FIG. 3A shows a GUI, and in particular, a time-based media playerdisplay window for displaying, controlling, and/or otherwise processingtime-based media data, according to one embodiment of the invention.

[0052] As shown, a time-based media player (media player) 200, which istypically displayed as a window on a display of a computer or otherdigital processing system, includes a number of display and controlfunctions for processing time-based media data, such as a QuickTimemovie. The player window 200 may be “closed” using a close box 222 (e.g.the user may “click” on this box to close the window by positioning acursor on the box and depressing and releasing a button, such as amouse's button while the cursor remains positioned on the close box).

[0053] The media player!200 includes a movie display window 202 fordisplaying a movie or other images associated with time-based media. Inaddition, a time/chapter display and control region 204 of the mediaplayer 200 provides functionality for displaying and/or controlling timeassociated with a particular time-based media file (e.g., a particularmovie processed by the player 200). As described below, a time-basedmedia file may be sub-indexed into “chapters” or sections whichcorrespond to time segments of the time-based media file, and whichchapters may also be titled. As such, a user may view or select a timefrom which, or time segment in which, to play back a time-based mediafile. Such selection, as described below, may be based on a particularchapter name and/or a particular time relative to the time-length of thetime-based media file.

[0054] The media player 200 includes a number of other mechanisms forcontrolling playback, display, and/or other processing of time-basedmedia. For example, a volume dial 220 controls the audio output level(e.g., through speakers, headphones, or other audio output device). Inone embodiment, a cursor controlled through a pointing device (e.g., amouse, trackball, touchpad, arrow keys of a keyboard, etc.) or speechrecognition enables a user to control the dial 220, as well as otherfeatures of the media player 200. For example, in one embodiment, a usermay place the cursor upon the volume dial 200 using a pointing device,and control the audio output level/volume by holding down the “click”button of the pointing device (to select or “activate” the volume dialicon 220) and then moving the cursor up or down to change thelevel/volume up or down, respectively. In one embodiment, a volume leveldisplay/control 218 displays the current volume level by highlighting onthe display one or more graphical “level lines,” wherein when more linesare highlighted, the higher the volume. Thus, as the dial 220 is “turnedup” to increase the audio output level, more lines will becomehighlighted, and conversely, when the dial 220 is “turned down” todecrease the volume, less lines become highlighted in the volume leveldisplay control 218. In the embodiment depicted in FIG. 3A, the user mayalso vary the audio output level/volume by placing the cursor on thevolume level/display control 218, activating the icon (e.g., by pressingand holding a mouse or other pointing device selection/click button),and moving the cursor to the right (to increase the volume) or to theleft (to decrease the volume), in which case the dial 220 will turn upor down, respectively, while the level lines of the volume level/displaycontrol 218 will be highlighted accordingly. Also, in one embodiment,the user may select (e.g. “click” on) the audio icon 217 to turn off theaudio portion of a presentation. As shown, the media player 200 alsoincludes a play button 216 and a pause button 212, which allow play backand pausing of a (currently selected) time-based media file.

[0055] As described below, the present invention provides secondary or“drawer” or “panel” or tray windows to be “opened” from the primary ormedia player 200 window. As such, the drawer or panel or tray windows,when opened or closed in response to user input, for example, willresemble drawers that open or close from the media player 200 window, asshown in FIGS. 4, 5A, 6A and 6B. These drawer windows (e.g. thefavorite/channel drawer window 230), in one embodiment, are part of theprimary window and are moved with the primary window and are opened orclosed with the primary window. That is, when the primary window ismoved around the desktop (on the display screen), the drawer window ismoved with the primary window and appears attached to the primarywindow. When the primary window is first opened, the handle portion ofthe drawer window is opened and is displayed and appears attached to theprimary window. When the primary window is closed (e.g. removed from thedisplay screen), the drawer window is closed. The drawer window, in oneembodiment, typically includes a handle portion which includes a drawercontrol (e.g. drawer control 214) which may be used to slide the drawerwindow open (e.g. display favorite/channel icons) or, if the drawerwindow is opened, to close the drawer window so that only the handleportion, typically attached to the primary window on an edge of theprimary window, is displayed. The handle portion of the drawer windowmay also include other controls, such as a resize control 208. In oneembodiment, objects, such as icons representing media (e.g. “favorites”or “channels”), may be selected from regions outside of the drawerwindow (e.g. icons on the desktop may be selected) and may be thendragged to a predetermined (e.g. “tiled”) region inside of the drawerwindow. This causes the selected object, in one exemplary embodiment, tobecome a “favorite” or “channel.” Similarly, an object (e.g. an iconrepresenting a favorite or channel media) may be selected within thedrawer window and dragged outside of the window (e.g. dragged to thedesktop or to a folder on the desktop or dragged to an icon representinga trash or waste receptacle or function). This has the effect of eithercreating an alias or short cut for the selected object (when dragged toa folder) or deleting the object from the drawer window. Thus, thedrawer window, in one embodiment, acts as a desktop window into which,and from which, objects (e.g. an icon of a favorite or a channel) may bedragged and it appears as part of a primary window which presents mediadata (e.g. displays still images or movies or plays back audio only,etc.).

[0056] The drawers or trays of the media player 200 provide additionalfunctionality or information in association with play back or otherprocessing of a time-based media file. For example, the tray associatedwith a controls button 206, as described below, includes a number ofother mechanisms to control play back and other processing of atime-based media file, which mechanisms may include, for instance, audiobalance, bass, and treble controls, forward/reverse scan controls, stepback/forward controls, etc. As such, a user may activate the controlsbutton 206 (e.g., by clicking/double clicking with a pointing devicewhile the cursor is on the controls button 206), and the control panelwill, in one embodiment, “slide” from the media player 200 windowappearing as if it was a drawer hidden/closed under the media player200. Similarly, a favorite/channel drawer control 214, when activated bythe user (e.g., using a pointing device), opens a favorite/channeldrawer which is described in further detail below. Finally, aninformation button 210 opens an information tray 250 when activated andthis tray will, in one embodiment, slide from the media player 200,appearing as if it was a drawer hidden/closed under the media player200.

[0057] The size of the media player 200 and/or the motion video displaywindow 202 may also be varied by activating a resize control 208. In oneembodiment, the media player 200 is displayed at a default minimum size.In this embodiment, when the resize control 208 is activated, twoanimated rectangles are displayed: one animated rectangle represents thesize of the motion display window 202 (with any image displayed therein)and the other animated rectangle represents the media player 200 window.Each animated rectangle represents the currently selected size of one ofthese two windows, and thus each animated rectangle indicates the sizeof the window if the currently selected size is ultimately selected bythe user. As such, the resize control 208 may be “dragged” by the cursorto resize the motion video display window 202 (and any image displayedthereby) without changing the size of the window 200 until the size ofwindow 202 increases to a threshold size, which in one embodiment,corresponds to substantially the edges of the media player 200 or awindow 202 of dimensions 320×240 pixels. When this occurs, an attempt tofurther enlarge the motion video display window 202 will enlarge themedia player 200 window and the window 202 together. In other words, ifthe outer window rectangle is larger than the minimum (default size),the two rectangles grow and shrink proportionally together. However, ifthe user attempts to shrink the media player 200 window's animatedrectangle below the minimum size, only the motion video display window202 (and its animated rectangle) will shrink, and the size of the mediaplayer 200 window will remain unchanged from the minimum size.

[0058]FIG. 3B shows an example of an audio-only player window. Theplayer window of FIG. 3B may include the same controls and drawers asthe player of FIG. 3A except that only audio media is played backthrough the player window of FIG. 3B.

[0059] It will be appreciated that the media presented through thevarious interfaces of the invention is not limited to movies with audio,or movies without audio, or audio-only time-based media (e.g. speechesor music), or still images or combinations of these media. It also willbe appreciated that the drawers may contain any number of differenttypes of controls or, generally, objects associated with media orcontrol of the presentation of media. These controls in the drawersallow a user to manipulate and design a presentation of media orotherwise control it. A drawer may contain a combination of controls(e.g. control buttons) and favorites or channels of media, although inthe embodiment shown in FIGS. 4, 6A and 6B, the controls are displayedin one drawer separately from a drawer containing favorites and/orchannels. It will also be appreciated that, in one instance, thefavorites are merely preselected media (either locally stored orreceived from a remote site) which the user (or the system at the user'srequest or the system on its own) has decided to save for future use bydesignating the media as a favorite (which is similar to the manner inwhich a web site is selected as a favorite or is selected as a bookmarkin a Web browser such as Microsoft's Internet Explorer or Netscape'sNavigator). It will also be appreciated that a player window (e.g.window 200) may have multiple drawers for favorites or channels; forexample, there may be two separate drawers for favorites and twoseparate drawers for channels. The controls may also be placed inseparate drawers.

Favorite/Channel Drawer

[0060] Now referring to FIG. 4, the time-based media player of FIG. 3Ais shown depicting a favorite/channel drawer that is partially open,according to one embodiment of the invention. In particular, the mediaplayer 200 is shown along with a favorite/channel drawer 230. In oneembodiment, in response to a user input with respect to thefavorite/channel drawer control 214, which may involve activation of thefavorite/channel drawer control 214 by placing a cursor thereon andclicking and holding a pointing device (e.g., a mouse button), thefavorite/channel drawer 230 may be “opened” as a secondary drawer windowwith respect to the media player window 200, such that it appears to beat least partially overlapped by and attached to the media player 200.Prior to being opened as a secondary window, a handle of the secondarywindow is displayed next to the primary window, and this handle remainsattached to the secondary window after the secondary window is opened.By moving the cursor up and down while the favorite/channel drawercontrol 214 is activated (e.g. the cursor is placed over the control 214and the mouse's button is held depressed), a user may close and open thefavorite/channel drawer (window) 230 to be displayed in variousproportions relative to the media player 200 window. Examples ofmechanisms and terminology for display interfaces, cursor control, anddrawer user interfaces are described in U.S. Pat. No. 5,745,096, issuedon Apr. 28, 1998, and entitled, “Desk Drawer User Interface,” which ishereby incorporated by reference herein. The favorite/channel drawer 230may also be referred to as a media drawer.

[0061] Typically, the media player window 200 is displayed as a primarywindow, for example, on a desktop window which may be moved around thedesktop (e.g. moved by dragging the window around the desktop). Themedia player window may include a trigger region, such as the drawercontrol 214, for controlling display of a secondary window, the drawer230. It will be appreciated that while the drawer 230 is referred to asa secondary window it is effectively, in one embodiment, part of theprimary window in that it is attached to the primary window and moveswith the primary window as it is moved around the desktop. A cursorcontrol device (sometimes also referred to as a pointing device) may beused to control a cursor position on a display. Alternatively, speechrecognition may be used to open and close the favorite/channel drawer.When the cursor is placed on a screen/display region of the triggerregion and the region is selected (e.g., by depressing a mouse or othercursor select/activation input device) in a first state of thefavorite/channel drawer window, in which state the contents of thedrawer window are not displayed (e.g., as shown in FIG. 3A), a user maydrag the cursor (e.g., in a downward direction) to “open” or reveal fordisplay the contents of the drawer or a portion thereof, in which casethe drawer is in a second (or displayed/open) state. This second stateof the drawer window is shown in FIGS. 4 and 5A. The drawer may slideopen with a sliding (e.g. nearly continuous) animation or may “pop” openfrom a closed state. Similarly, the drawer may slide closed with asliding animation or may pop closed without any sliding animation. Thecursor can further be controlled to place time-based media source iconsinto the drawer (e.g. by dragging an icon from a desktop or folder onthe desktop to the drawer), remove time-based media source icons fromthe drawer, rearrange time-based media source icons between locations inthe drawer or other windows, and/or select for playback a media fileassociated with an icon displayed in the drawer (e.g., by placing thecursor over that icon and activating the icon). As described below, themedia player may also include auxiliary drawer windows which may beoperated similarly to provide functionality and/or information relatingtime-based media data that may be processed by the GUI media player ofthe present invention.

[0062] In FIG. 4, the drawer 230 is shown partially opened to reveal afavorite/channel row 244 and a portion of a row 246. Thefavorite/channel row 244 comprises favorite/channel wells 232, 234, 236,238, and 240. Each favorite/channel well represents, in one embodiment,a fixed, predetermined, tiled display location within the drawer 230that may contain a reference (e.g., a display/cursor activated icon) toparticular time-based media source, which in one embodiment may be aparticular time-based media file or a particular time-based mediachannel. For example, as shown in FIG. 4, the well 234 contains a mediasource icon 248 and the well 238 contains a media source icon 250, eachof which may reference a particular time-based media file or channel ormay reference a non-time-based media file. Each row of the drawerincludes tiled compartments, each of which is designed to hold one mediasource icon. The filed compartments have a fixed, predeterminedlocation, thereby preventing placement (in one embodiment) of a mediasource icon in an arbitrary location. Any attempt to drop an icon in anarbitrary location will result in the icon being placed into anavailable well (not already occupied by an icon). That is, the placementis restricted to the tiled (e.g. non-overlapping) locations. In oneembodiment, the media player 200 may be generated and displayed on aclient computer system, such as one shown in FIG. 1, and the mediasource icon 248 may reference a particular time-based media file, suchas a QuickTime movie, that is stored locally by the client computersystem or at a remote location (e.g., a Web server system) that providesthe media file for play back (or other forms of presentation) by themedia player 200 in response to a request. In one embodiment, such aplay back request is performed by activating the media source icon 248(e.g., by pointing the cursor thereon and clicking on it). For example,if the time-based media file comprises motion video, such will bedisplayed in the display window 202 after activating the associatedmedia source icon. In one embodiment, when a source icon (e.g. icon 248)is activated, a highlighting is displayed around the edges of the wellwhich contains the activated icon.

[0063] In addition, a media source icon, such as the media source icon248, may reference a particular media channel, such as a news provider(e.g., CNN, Fox News, etc.), a major network (e.g., ABC, NBC, CBS,etc.), a shopping network, or another channel. Such channels correspondto sources that typically provide continuous time-based mediainformation/programming via a media source, such as a Web server coupledto the Internet. Such a media source may stream media information intodata packets that may transferred across a data processing network, suchas the one shown in FIG. 1, according to the QuickTime or other mediaformat and such data may not be stored locally (except perhaps for anyephemeral storage required for local playback). The address of suchmedia is associated with the media source icon and is stored for quickaccess by the user.

[0064] Thus, wells may be filled with icons associated with files fromthe user's digital processing system (e.g., a file may be dragged fromthe desktop or other window/directory to a well in the drawer or a filemenu associated with the drawer may be used to add an icon to a well inthe drawer) or may be filled with icons (which may sometimes also bereferred to as “bookmarks”) associated with streamed time-based mediaprovided by a remote (e.g., Web) system. In one embodiment, a user maysubscribe to certain channels, media (Web) servers, etc., which willthen provide the icons associated with the subscribed media source(s)into wells in the drawer and/or any other directory associatedtherewith. Thus, in one embodiment, the drawer may be altered by theuser or automatically altered/updated by a remote server or otherdigital processing system by transferring, rearranging, adding, ordeleting time-based media icons therein. In one embodiment, thefavorite/channel drawer may contain icons associated with “favorite”media of the user.

[0065] In one embodiment, media source icons provide a graphicalreference to the media source associated therewith. For example, aparticular frame of a motion video may be used as a “thumbnail” torepresent the media source (e.g., file, channel, etc.) associatedtherewith. As such, data (e.g., a frame) from a particular media file orother media source may be used to generate a media source icon in thedrawer 230 to reference that particular media file. On the other hand, amedia source icon may include text or symbols or other graphics orimages to identify a media file or channel associated therewith. Forinstance, the logo/symbol associated with a particular news or networkchannel may be used as a media source icon that references that channelto play back time-based media provided thereby when that icon isactivated.

[0066] In one embodiment, a particular time-based media icon may behighlighted graphically when selected (e.g., by placement of the cursorthereon and/or single clicking a pointing device thereon). Suchhighlighting, in one embodiment, includes providing a border around aselected time-based media icon. It will be appreciated that selectionmay, but does not always include, activation of the icon, the latter ofwhich runs/loads the media (e.g. file or channel) associated with theicon. For example, in one embodiment, activating a particular time-basedmedia icon is performed by selecting and then clicking that icon, whichin turn causes the time-based media player 200 to play the tine-basedmedia file associated with that icon. In one embodiment, the drawer 230may slide closed after a source icon in a channel has been selected forpresentation (e.g. displaying video and reproducing the associatedaudio).

[0067]FIG. 5A is a diagram of a time-based media player providing afavorite/channel drawer generated as a GUI, according to one embodimentof the invention. In particular, FIG. 5A shows the drawer 230 opened toa greater extent than shown in FIG. 4, for example, to reveal severalwell rows, including the well rows 244 and 246, the latter of which waspartially hidden in the view of the media player 200 shown in FIG. 4. Inone embodiment, the amount of the drawer 230 which is visible iscontrolled by the user. In one embodiment of the invention, selectedwells or well rows, such as the well rows 244 and/or 246, may bereserved for certain media sources, such as certain favorites orchannels of media provided by a media server. On the other hand, otherwells may be freely utilized to store media icons. In one embodiment,time-based media icons may be transferred as icons and/or file namesassociated with time-based media sources from otherlocations/directories (e.g., a desktop or other window) of a digitalprocessing system to a well of the drawer; transferred from one well toanother well within a drawer; and/or transferred from a drawer toanother location/directory of the digital processing system. In oneembodiment, known cursor dragging methods may be employed to facilitatesuch transfers.

[0068]FIG. 5B shows an example of a graphical user interface accordingto the present invention which may be displayed on a display screen of acomputer system. This interface includes a desktop 200 b and a menu bar200 a having pull down menus, such as pull down menu 200 h. The desktop200 b includes an icon 200 f for a hard disk and an icon 200 g for afolder as well as an icon for a media document 200 d and an icon for atrash can 200 c. A cursor 200 e is also displayed on the desktop in thevicinity of the media player 200. The media player 200 includes a closebox 222 and a display window 202 for showing images. Below the window202 is the drawer 230 which has been opened to show four rows of wells,including rows 246 and 244. Four source media icons are shown in thedrawer 230. A handle below the rows includes the drawer control 214 andthe resize control 208. FIG. 5B will now be used to describe variousprocesses for altering the contents of the drawer 230. A media sourceicon may be added to the drawer 230 by dragging the icon from thedesktop or from a folder or from the hard disk icon into a well in thedrawer 230. For example, the cursor 200 e may be used to select and dragthe icon 200 d into the well 242 to thereby relocate the icon 200 d intothe well 242 of the drawer 230. In this manner, if the icon 200 drepresents a movie, this icon will be added to the drawer so the usermay select for playback the movie represented by this icon by merelyopening the drawer and then selecting this icon in well 242. Thisforegoing process may be reversed to thereby delete an icon from thewell 230. For example, the cursor 200 e may be used to select an icon,such as media source icon 248, and then to drag this icon from its wellout of the drawer 230 and into the trash can 200 c. This will cause theicon 248 to be removed from the drawer 230 and this icon and itsassociated media will no longer be a favorite which can be selected byselecting an icon within the drawer 230.

[0069] Another way to add a favorite into the drawer 230 is to open amedia, such as a movie, so that it is displayed within the window 202(or in the case of an audio file, the audio file is ready to be played).Then, the user can use the pull down menu 200 h to select the option“add favorite” which adds the media to the first available well in thedrawer 230.

[0070] The icons within the drawer 230 may also be used to create ashort cut or alias to the media by dragging an icon from the drawer 230to the desktop (except for the trash can).

Auxiliary Drawers/Panels

[0071]FIG. 6A is a diagram of time-based media player providing aninformation panel (or drawer) window generated as GUI, according to oneembodiment of the invention. In particular, FIG. 6A shows the bottomportion of the media player 200 shown in FIG. 3A having “opened” aninformation drawer 250. The information drawer 250 also represents a“drawer” or secondary window that may be revealed (or opened) or hiddenrelative to the media player 200 window. In one embodiment, the drawer250 behaves relative to window 200 in the same manner as drawer 230behaves relative to window 200. For example, the drawer 250 appearsattached to and moves with the window 200 when the window 200 is movedaround the desktop. The information drawer 250, in one embodiment, isprimarily utilized to display any one or combination of various types ofinformation associated with a currently selected media. Such informationmay include, but is not limited to, copyright/trademark information,encryption information, data compression information, other credits,warnings, etc. For example, as shown in FIG. 6A, the information drawer250 displays the message “Compressed with Media Cleaner™.”

[0072] To view the information displayed by the information drawer 250when the media player 200 window appears as shown in FIG. 3A (i.e., withthe information drawer 250 closed), the information button 210 may beselected (e.g., by placing the cursor over the button 210 and depressingand releasing a select button, such as a mouse button). In response toselection of the information button 210, the information drawer 250 willopen (e.g. by appearing to slide out from under the window 200) andreveal information about the current media, for example, as shown inFIG. 6A.

[0073]FIG. 6B is a diagram of a time-based media player providing acontrol drawer window generated as a GUI, according to one embodiment ofthe invention. In particular, FIG. 6B shows the bottom portion of themedia player 200 shown in FIG. 3 having “opened” a control drawer 252.The control drawer 252 also represents a “drawer” or secondary windowthat may be revealed (or opened) or hidden relative to the media player200 window. In one embodiment, the drawer 252 behaves relative to window200 in the same manner as drawer 230 behaves relative to window 200. Forexample, the drawer 252 appears attached to and moves with the window200 when the window 200 is moved around the desktop. In one embodimentof the invention, the control drawer 252 is provided to displayadditional controls/functionality for play back or other processing of atime-based media by the media player 200. As shown in FIG. 6B and thecontrol drawer 252, such information may include, but is not limited to,audio bass, treble, and balance controls, forward/backward scan, skip,etc.

[0074] To utilize or view the controls/functions provided by the controldrawer 252 when the media player 200 window appears as shown in FIG. 3A(i.e., with the control drawer 252 closed), the control button 206 maybe selected (e.g., by placing the cursor over the button 206 anddepressing and releasing a select button, such as a mouse button). Inresponse to selection of the control button 206, the control drawer 252will open (e.g. by appearing to slide out from under the window 200) andreveal controls, such as those shown in FIG. 6A and described above, tocontrol play back and/or other processing of time-based media.

Time/Chapter Selection and Display

[0075] FIGS. 7A-7B illustrate a time/chapter display control of atime-based media player generated as a GUI, and in particular,illustrate an adaptive chapter display/control, according to oneembodiment of the invention. In one embodiment of the invention, atime-based media file may be indexed into chapters, wherein each chaptermarks the beginning (and ending) of a particular time segment in thetime-based media file. Such chapters may be predefined for a media fileand/or may be determined by a user. Each chapter may be entitled by itsindex number (e.g., “Chapter 2” for the second chapter, and so forth)and/or have a descriptive title (e.g., “Wedding scene”). Therefore, itwill be appreciated that chapters are typically descriptions (e.g. text)that indicate or correspond to a time or time range in a time-basedmedia file. Also, a sequential list of chapters may represent the entirecontiguous time of a time-based media file.

[0076] In FIG. 7A, the time/chapter display/control 204 of the mediaplayer 200 is shown, which includes an adaptive chapter display/control260 and a time display 262, which display the corresponding chapter andcurrent time, respectively, of a time-based media file/channel. Theadaptive chapter display/control 260, as shown in FIG. 7A, is in an idleor unselected state, in which the current chapter (entitled “Swimexcitedly”) is truncated to a predetermined idle state display size, asdepicted by “Swim excit . . . ”

[0077] On the other hand, when the adaptive chapter display/control 260is in an active state, as shown in FIG. 7B, its size adapts, in oneembodiment, to display the entire title of the current chapter. In oneembodiment, the adaptive chapter display/control 260 becomes active inresponse to a user input to change or browse/scroll through chapters.The user input may include, for example, clicking and holding a pointingdevice (e.g., mouse, trackball, etc.) button while the cursor is overthe area 260. Alternatively, the user input may include speech commandswhich are recognized by a digital processing system. The user may thencause the chapter displayed by the adaptive chapter display/control 260to change by moving the cursor (via a pointing device such as a mouse,for example) up and down to display the previous or next chapter(s),respectively.

[0078] In one embodiment, the time it takes for the cursor to be movedup or down a specified distance above or below the midlevel or otherpredefined location of the adaptive chapter display/control 260 (e.g.the speed of the cursor movement) is used to determine the scrollingspeed of the chapter(s) being displayed in the adaptive chapter/displaycontrol 260. As such, in one embodiment, the faster the cursor movement,the faster the chapters scroll up or down in the display 260, andconversely, the slower the cursor movement, the slower the chaptersscroll in the area of the adaptive chapter/display control 260.

[0079] In one embodiment, as a user scrolls up or down through chaptersby moving the cursor over the adaptive chapter display/control 260, thetimes corresponding to the chapters are also scrolled up or down in thetime display 262. In one embodiment, the time may be directly changed upor down by placing the cursor on the time display 262, clicking andholding the pointing device select button, and moving the cursor up ordown with the pointing device. In response, the chapter display 260 willalso change to correspond to the time. Thus, the time display 262 andchapter display 260 are linked such that selecting a particular timewill cause the chapter display 260 to show the corresponding chapter andvisa versa. Furthermore, in one embodiment of the invention, the speedwith which the cursor is moved up or down by the user (e.g., using apointing device, such as a mouse) will determine the scroll speed of theindicators in time and/or chapter display areas 262 and 260. This willbe further described below in conjunction with FIGS. 12A and 12B.

[0080]FIG. 7C shows an example of the chapter display/control area 260which includes the chapter designator 260 a and an up arrow 260 b and adown arrow 260 c. the cursor 260 d is also shown in the vicinity of thecontrol area 260 although it is outside, in one embodiment, of the area260. Typically, the area 260 may be defined by the border 260 e as shownin FIG. 7C. When the cursor 260 d is within the border 260 e, then bystarting a drag within this border, the scrolling of the chapters may beinitiated as described herein. This will be further described inconjunction with FIGS. 7F-7J.

[0081]FIG. 7D illustrates the appearance of the chapter area 260 whenthe very first chapter or section is selected and displayed within thearea 260. The chapter designator 260 a indicates this is the firstchapter and the up arrow 260 b is not highlighted while the down arrow260 c is highlighted. This difference in highlighting indicates that auser can only go down into the media rather than also being able to goup in the media. Note that with chapter 2 selected in FIG. 2C, the usercan go in either direction. As shown in FIG. 7E, when the last chapteris indicated by the chapter designator 260 a in the chapter area 260,only the up arrow 260 b is highlighted while the down arrow 260 c isnot.

[0082]FIGS. 7F, 7G, and 7H illustrate a scrolling up operation whileFIGS. 7I and 7J illustrate a scrolling down process. The scroll beginsin FIG. 7F by positioning the cursor 260 d within the chapter area 260and by moving the cursor in an upwardly direction as shown by the arrow261 a. Typically, the cursor is positioned within the area and then theuser indicates the dragging of the cursor by pressing a mouse button orother button and holding the button down while moving the cursor. Afterthe beginning of the drag, the up arrow 260 b becomes highlighted andthe down arrow 260 c is no longer highlighted, indicating the directionof the scroll, which in this case is up from chapter 4 to chapter 2 asshown in FIG. 7H. FIG. 7G shows an intermediate stage where the cursor260 d has moved from approximately a midline point within the chapterdisplay control area 260 to a point approximately two-thirds of the wayup, resulting in chapter 3 being displayed as the chapter designator 260a while the up arrow continues to be highlighted during the scrolloperation which ends in FIG. 7H as the cursor 260 d is now positionedabove the area 260. The scroll can continue as long as the mouse buttonor other button remains depressed, indicating an active drag of thecursor which began in the chapter display area 260.

[0083]FIGS. 7I and 7J illustrate scrolling in the opposite direction bypositioning the cursor 260 d within the area 260 and then dragging itdown as shown by the arrow 261 b. As the cursor 260 d is draggeddownwardly, the chapter designator changes from chapter 3 to chapter 4as shown in FIG. 7J, and the cursor 260 d is now closer to the lowerportion of the area 260 as shown in FIG. 7J.

[0084] FIGS. 5A-8B illustrate a GUI mechanism of a time-based mediaplayer for selecting for playback (or other presentations) a range oftime within a time-based media file, according to one embodiment of theinvention. As shown in FIGS. 8A and 8B, in addition to the time display262 and the adaptive chapter display/control 260, the time/chapterdisplay/control 204 includes a time bar 271. The time bar 271 representsa time line of the current time-based media file. The position of acurrent time marker 274 on the time bar 271 indicates the current time(e.g., time currently being played back, such as an approximation of thetime of the currently displayed frame in window 202) of the currentlyselected media file. A user may drag the position of the current timemarker 274 along the time bar 271 to change the time-based media file'scurrent time to a currently selected time. In one embodiment, the timedisplay 262 and the adaptive chapter display/control 260 are updated (toshow the current time and current chapter, respectively) as the currenttime marker 274 is moved and a frame at the currently selected time isalso displayed in window 202 to update that window. In one embodiment,when a time-based media file is being played back, the current timemarker 274 moves from the left to the right to indicate how much of thetime-based media file (depicted by the entire length of the time bar271) has elapsed or remains.

[0085] In addition, a select start marker 270 and a select end marker272 allow selection of a time range within a time-based media file. Thistime range, once selected, allows playback (or other presentation) ofonly a portion of the time-based media file. In FIG. 8A, the selectstart marker 270 is positioned at the left-most end of the time bar 271,which coincides with time zero and the beginning of the currenttime-based media file. Also in FIG. 8A, the select end marker 272 ispositioned at the right-most end of the time bar 271, which correspondsto the end of the time-based media file. Thus, if the time-based mediafile is played back with the markers positioned as shown in FIG. 8A, theentire time-based media file will be played back in window 202 frombeginning to end, unless stopped.

[0086] On the other hand, as shown in FIG. 8B, the select start marker270 is moved to the right relative to its position shown in FIG. 8A.Similarly, the select end marker 272 is shown moved to the left relativeto its position shown in FIG. 8A. As such, only the time rangecorresponding to that portion of the time bar between the select startmarker 270 and the select end marker 272 shown in FIG. 8B is selected inFIG. 8B. Therefore, a user may select substantially any start or endtime to determine a particular range of time for playback in atime-based media file. The selected range may be played back, used forediting (e.g., it may be cut from, added to, etc., to a time-based mediafile), used for creating a new time-based media file with the selectedrange and placing a corresponding icon in the favorite/channel drawer,or other purposes.

[0087] In one embodiment, when a user changes or scrolls through thetime or chapters of a time-based media file using any of the threemechanisms described with reference to the time/chapter display/control204, the display window 202 of the media player 200 also displays theimage frame at the corresponding time/chapter “dragged” by the user.

[0088]FIG. 8C shows a flowchart which represents one particular methodfor implementing the interface shown in FIGS. 8A and 8B. In operation275 a a time bar, such as time bar 271, is displayed with a current timeindicator, such as the time display 262. In operation 275 b, a startmarker, such as the select start marker 270 is positioned on a locationalong the time bar 271. This may be achieved by positioning a cursorover the select start marker 270 and by dragging the select start marker270 along the time bar 271. The operation of dragging an icon is wellknown in the art and may be achieved by positioning a cursor inassociation with the icon, selecting the icon by depressing a mousebutton, and while keeping the mouse button depressed, moving the cursorand thereby also moving the icon in a drag operation. In operation 275c, a number of different operations may occur concurrently with the dragoperation in 275 b or at the end of a drag operation. In the preferredembodiment, these operations may be performed during the drag operationrather than at the end. In this manner, feedback is given to the user asto the particular start frame which has been selected as the startselect marker 270 is moved along the time bar 271. Some or all of theoperations in operation 275 c may be performed as these drag operationsoccur. The time display, such as time display 262, may be updated (e.g.updated from 00:00:00 to 00:05:05) as the start marker is dragged alongthe time bar. The time display will be updated to indicate the starttime selected at the current location of the start marker 270 along thetime bar 271. Also, the display frame which has been selected as thestart frame may be displayed within the window 202. Further, the timebar itself may be updated to indicate the selected portion of thetime-based media. This is shown in FIGS. 8A and 8B by the highlightingwhich occurs in the middle of the time bar 271 while the ends of thetime bar are not highlighted. Dragging the start selector 270 from leftto right will change the amount of highlighting along the time bar,thereby indicating the amount of the movie which has been selected forplayback. Also, the current time marker may optionally be moved tocoincide with the start time marker. Further, the chapter display may beupdated to show the chapter corresponding to the time selected by thestart marker's position along the time bar. Of course, if a particulartime-based media file has no chapters, there is no need to update thechapter display in the control area 260.

[0089] The user may perform a positioning operation on the select endmarker 272 as indicated in operation 275 d of FIG. 8C. In particular,the user may drag the end marker to a location along the time bar 271 ormay position the cursor without a drag operation over a particularlocation and then click to indicate that location after havingpreviously selected the end marker for a positioning operation. The sametype of positioning operation may be performed with the start marker270. As the end marker is dragged along the time bar 271, the timedisplay 262 indicating the end of the movie may be updated and a displayarea 202 may also show the currently selected end frame in order to letthe user know when the selected portion of the movie will end. Also, thetime bar may be highlighted or shaded to indicate the end of theselected portion as shown in FIG. 8B and this highlighting or shadingmay be updated as the select end marker is dragged along the time bar271. Further, the chapter display may be updated during the dragoperation or positioning operation of the end marker to show the chaptercorresponding to the time selected by the end marker's position alongthe time bar.

[0090] After positioning one or both of the start and/or end markers,the user may cause the presentation of the selected range/portion of thetime-based media by, for example, “clicking” on the play button 216.

[0091]FIGS. 8D, 8E, and 8F illustrate the display, in one embodiment, ofa time display/control area 204. This area 204 includes a time bar 271as well as a current time marker 274 and select start marker 270 andselect end marker 272. The display and control area 204 also includestime display 262. As with the embodiment shown in FIGS. 8A and 8B, thecurrent time marker shows the current time for the current framerelative to the time bar 271. The select start marker 270 shows theselected start time and the select end marker 272 shows the selected endtime. The markers 270, 272, and 274 may be dragged along the time bar271 as with the embodiment shown in FIGS. 8A and 8B in order to modifythe current time or the start time or the end time as described above.Three buttons on the left portion of the control and display area 204relate and correspond to the three markers 270, 272, and 274. Inparticular, the button 276 a corresponds to the select start marker 270,and the marker 276 b corresponds to the current time marker 274, and theselect end marker 272 corresponds to the button 276 c. Each of thesethree buttons 276 a, 276 b, and 276 c may be selected (e.g. bypositioning a cursor over the button and depressing and releasing amouse button or another key on the system), and when the particularbutton is depressed, the time of the corresponding marker is shown inthe display time area 262 and the corresponding marker is alsohighlighted with its corresponding button. For example, as shown in FIG.8D, the selection of the button 276 a causes the start marker 270 to behighlighted and causes the time display 262 to show the time of theselect start marker 270. Similarly, FIG. 8E shows that when the button276 b is selected, it becomes highlighted and the current time marker274 becomes highlighted and the time of the current time marker isdisplayed within the time display 262. Similarly, FIG. 8F shows thatwhen the button 276 c is selected, it becomes highlighted and the selectend marker 272 becomes highlighted and the ending time selected by themarker 272 is shown in the time display 262.

[0092] These buttons 276 a, 276 b, and 276 c also provide feedback to auser, indicating which of the three markers is being selected andmanipulated by the user. For example, when the select start marker 270is selected and is being dragged along the time bar 271, the button 276a becomes highlighted while the buttons 276 b and 276 c are nothighlighted. This indicates to the user that the start marker is beingmanipulated and the time display 262 is updated to follow the movementof the marker 270 to show the currently selected start time. Similarly,when the current time marker 274 is selected for direct manipulation(e.g. a dragging of the marker 274) then the button 276 b is highlightedwhile the other buttons 276 a and 276 c are not highlighted. Similarly,when the marker 272 is being dragged along the time bar 271, the button276 c is highlighted while buttons 276 a and 276 b are not highlightedas shown in FIG. 8F.

Streaming Status Message Display

[0093] FIGS. 9A-9B illustrate an adaptive streaming status messagedisplay of a time-based media player generated as a GUI, according toone embodiment of the invention. This status message display may also beused for non-streaming media.

[0094] In one embodiment, the media player 200 may play back orotherwise process time-based media received over a network. For example,a QuickTime movie may be streamed by a remote digital processing system,typically a server, to the user's local system, where the user hasrequested the movie (e.g., by clicking on an icon in thefavorite/channel drawer of the media player being executed on the localsystem, wherein the icon references the movie and/or the server thatprovides the movie).

[0095] As shown in FIGS. 9A and 9B, the time/chapter display/control 204provides a mechanism for displaying status information related tostreaming of time-based media over a network. In particular, as shown inFIGS. 9A and 9B, an adaptive streaming message display 280 appears inthe time/chapter display/control 204. The adaptive streaming messagedisplay 280 scrolls in from the right-most portion of the time/chapterdisplay/control 204 to display status messages such as “Connecting . . .”, “Negotiating . . . ”, “Receiving . . . ”, “Buffering . . . ”, and/orother status messages. The status messages in the message display 280scroll from the right and cover as much of the time/chapterdisplay/control 204 as needed to display the message.

[0096] In one embodiment, when a currently displayed status message isto change to the next status message (e.g., from “Connecting” to“Negotiating”), the current message will scroll “out” to the right. Forexample, FIG. 9A shows a portion of the message “received PLAY response. . . ” scrolling in from the right to the left in the adaptivestreaming message display 280, while FIG. 9B shows a larger portion ofthe same message having been scrolled in from the right to the left.However, if another status message were to follow, the message “receivedPLAY response . . . ” would scroll out from the left the right (i.e., inthe opposite direction). Thus, in one embodiment of the invention, eachstatus message appears and disappears in a streaming/scrolling fashion.

[0097] FIGS. 9C-9H illustrate an alternative embodiment for a statusmessage display for a media player according to one embodiment of theinvention. Each of these figures shows a portion of the display controlarea 204. This portion shown may be the middle of the area, for example,the middle of the area shown in FIG. 7A. In this instance, the time barmay not be displayed while these messages scroll through this area. FIG.9C shows the beginning of a sequence of messages which may occur whenthe media player is receiving a streaming media. It will be appreciatedthat this embodiment of the present invention may be utilized with liveor stored streaming and may be used with non-streaming media; thecontent of the messages would, of course, be tailored to provide theappropriate information depending on the type of media and the type ofconnection and whether it is streaming or non-streaming media. As shownin FIG. 9C, the first message is “Connecting” and this message begins toscroll down in the area shown in FIG. 9C and the next message scrolls infrom the top as the previous message “Connecting” is scrolling down.FIG. 9D shows a particular stage in which the first message “Connecting”has scrolled down to near the bottom while the second message“Negotiating” has scrolled into the area and is scrolling down. FIG. 9Eshows the second message “Negotiating” has scrolled further down and thefirst message “Connecting” has scrolled out of view. This scrolling in avertical direction from top to bottom continues as the third message“Buffering” scrolls into view as shown in FIG. 9F. The next message maybe either that shown in FIG. 9H (“Live Broadcast” in the case of astreaming live media) or the time bar 271 with its associated markers asshown in FIG. 9G in the case of a stored streaming media or other media.

[0098] Thus the interface provided by the embodiment shown in FIGS.9C-9H provides a vertical scrolling of messages through the area 204 byremoving the time bar for a portion of the time.

Media Player and Display Window Resizing

[0099] FIGS. 10A-10C illustrate resizing a time-based media playergenerated as a GUI and/or a display window for displaying time-basedimages, according to one embodiment of the invention. In one embodiment,the size of the media player 200 again depicted in FIGS. 10A-10C and/orthe motion video display window 202 may be varied by dragging the resizecontrol 208 (e.g., by depressing and holding a mouse button or otherpointing select button on the resize control 208, and then moving thecursor using the mouse).

[0100] In one embodiment, the media player 200 is displayed at a defaultminimum window size, which is shown in FIGS. 10A and 10B while thewindow 202 within the player 200 may have different sizes as shown inFIGS. 10A and 10B. The video display window 202 may also have a minimumsize, which in one embodiment is equal to 320×240. It will beappreciated that alternative embodiments may incorporate various otherminimum or default sizes or may not incorporate a minimum size.

[0101] In one embodiment, when the resize control 208 is dragged, twoanimated rectangles are displayed: one animated rectangle represents thesize of the display window 202 (any image displayed therein) and theother animated rectangle represents the size of the media player 200window (which contains the window 202). The resize control 208 may be“dragged” by the cursor to resize the motion video display window 202(and any image displayed thereby) without resizing the window 200 untilthe size of window 202 increases to a threshold size, which in oneembodiment, corresponds to substantially the edges of the media player200, which is shown in FIG. 10B. When this occurs, an attempt to furtherenlarge the motion video display window 202 will enlarge the mediaplayer 200 window as well, which is shown in FIG. 10C. However, if theuser attempts to shrink the media player 200 window below the defaultminimum size, only the display window 202 (and its animated rectangle)will shrink, and the size of the media player 200 window will remainunchanged from the minimum size.

[0102]FIG. 10D is a flowchart which illustrates one method of performinga resizing operation with the two windows included in media player 200.FIGS. 10E and 10F illustrate examples of these two windows during ashrinking operation (FIG. 10E) or an enlarging operation (FIG. 10F).

[0103] Operation 290 a of FIG. 10D detects a user input to change thesize of a window in the time-based media player 200. Typically, thiswill involve a user positioning the cursor over the resize control 208and while selecting that control, moving the cursor while the controlremains selected. As long as the control is selected (e.g. keeping themouse's button depressed down) the user is indicating to the system thatthe window is to be resized. The system will monitor the user's positionof the cursor and control the size of the window in a correspondingmanner. Typically, two animated windows are displayed, one correspondingto the currently selected size of the inner window and the othercorresponding to the currently selected size of the outer window. Theanimated windows are animated because they change in size as theresizing operation occurs. In the case of the preferred embodiment, theouter window does not change size unless it is currently selected at asize larger than the predetermined size. This is shown in FIG. 10E inwhich the rectangle 291 b represents the predetermined size of the outerwindow, which in this case is the outer perimeter of the player 200shown in FIG. 3A. The rectangle 291 e represents the inner window'speriphery at the end of a drag of the cursor 291 a while the rectangle291 d represents the inner window's periphery at the start of the drag.The arrow 291 h represents the direction of the drag starting from onelocation and inwardly towards the rectangle 291 e. The rectangle 291 cis shown within the rectangle 291 b only for purposes of illustration toseparately show the two rectangles. It will be appreciated that therectangle 291 c represents the outer window's periphery and that thisperiphery does not shrink below the predetermined size represented bythe rectangle 291 b. The animated rectangles 291 f and 291 g appearduring the process of dragging from the beginning position of the cursorto the ending position of the cursor as the inner window is reduced insize. It will be appreciated that there are a number of ways to animatethe changing size of a window. In one embodiment, a zooming series ofshrinking rectangles may be displayed as the user moves the cursor fromone location near the outer window's periphery towards the innerwindow's periphery. These zooming animated rectangles are well known inthe art.

[0104]FIG. 10F represents an expansion of both the inner and outerwindows as the user drags the cursor 291 a along the path 291 i. In thiscase, the outer window is dragged beyond the predetermined size shown byrectangle 291 b to its final size shown by rectangle 291L. Similarly,the drag operation enlarges the inner window from its beginning sizeshown by rectangle 291 m to its final size shown by rectangle 291 p.During the dragging operation, several animated rectangles may bedisplayed for both the inner and outer windows showing the user the sizeof both windows. This feedback allows the user to be able to determinethe size of the outer window and also to determine the size of the innerwindow while a dragging operation is occurring. Thus, for example, theuser can enlarge the inner window to see a bigger picture while at thesame time assuring that the outer window is not enlarged too much suchthat it may obscure background features on a desktop or that it mayextend beyond displayable area such that controls on the outer windowmay not be available.

[0105] Referring back to FIG. 10D, the operation, once user input isdetected, proceeds to operation 290 b in which the size of the outerwindow being changed is compared to a predetermined size such as apredetermined area. If this outer window is being changed below apredetermined size, then processing proceeds to operation 290 g. This isshown in FIG. 10E in which there is a changing outline of the innerwindow which is animated to indicate the changing size of the innerwindow but the dragging operation does not affect the size of the outerwindow as long as the size of the outer window's size remains below thepredetermined size. In operation 290 h, it is determined while draggingwhether the size of the outer window is less than the predeterminedsize. If it is not, processing proceeds to step 290 i in which it isdetermined whether dragging has been completed. If, in operation 290, ithas been determined that the size of the outer window is larger than thepredetermined size, then processing proceeds to operation 290 c. If, inoperation 290 i, it has been determined that dragging has ended, thenprocessing returns back to operation 290 b, otherwise, if dragging hasended in operation 290 j, the size of the inner window is changed to thefinal selected size of the inner window. Typically, this will mean thatthe periphery of the inner window will be the same size as the peripheryof the animated window which was displayed when the drag was ended.

[0106] Operation 290 c is illustrated in FIG. 10F in which both theinner and outer windows have animated zooming rectangles associated withthe windows while the user drags the resizing control. Animatedrectangles 291 n and 291 o are examples of zooming animated rectanglesfor the inner window, and animated zooming rectangles 291 j and 291 kare examples of animated windows for the outer window. In operation 290d, it is determined whether the size of the outer window is less thanthe predetermined size. If it is not, processing proceeds to step 290 e.If, in fact, the size of the outer window is less than the predeterminedsize, then processing proceeds to operation 290 g. In operation 290 e,if the drag has ended, then processing proceeds to operation 290 f inwhich the inner and outer windows are set to the new selected sizes. Ifthe drag has not ended as determined in operation 290 e, then processingreturns back to operation 290 c.

[0107] In this manner, the size of both the inner and outer window maybe determined by looking at the current size of the animatingrectangles.

[0108] In alternative embodiments, two separate resize mechanisms may beprovided, each to control resizing of one of the media player 200 andthe display window 202.

Method for Providing a Favorite/Channel Drawer Window

[0109]FIG. 11 is a flow diagram illustrating a method for providing afavorite/channel drawer window for a time-based media player generatedas a GUI, according to one embodiment of the invention. Flow begins atblock 302.

[0110] At block 304, input is detected to open a favorite/channel drawerwindow relative to a media player window. For example, such input mayinclude dragging a drawer control icon, such as the favorite/channeldrawer control 214 of FIG. 3A, in the same direction in which thefavorite/channel drawer is to be opened, and doing so until a desiredportion of the favorite/channel drawer is displayed. As such, in oneembodiment, the size of the drawer window (and how many wells aredisplayed) is incrementally selectable to the extent that a user dragsopen or closed the favorite/channel drawer. On the other hand, in analternative embodiment, the drawer window may be opened (e.g. displayed)at only a predetermined size, such that a user may open the drawer tosuch size by selecting an icon (e.g. “clicking” or double-clicking onthe icon by positioning a cursor on the icon and depressing a button orby speaking the icon's name in a system with speech recognitioncapabilities) and may close the drawer window by “clicking” ordouble-clicking on the same icon. Alternatively, keyboard commands (e.g.“command]”) may be used to open and close the drawer window or theselection of a command from a pull down menu may open or close thedrawer window.

[0111] At block 306, the drawer window is displayed. As mentioned above,the extent to which the drawer window is displayed may be selectable,for example, as determined by the extent the drawer window is “draggedopen” by a user, or may be displayed at a default/non-selectable size orproportion.

[0112] At block 308, if input is detected to select an icon in thedrawer or to alter the drawer (e.g., to add, delete, rearrange, etc., anicon), flow passes to block 314. Otherwise, flow passes to block 310.The input may include clicking on an icon in a well of the drawer,dragging an icon to or from a well, etc.

[0113] At block 310, if input is detected to close the drawer (e.g., auser dragging the drawer control 214 up to hide to the drawer or aportion thereof), flow passes to block 312 where the drawer window is(at least partially) closed. Otherwise flow passes back to block 306.

[0114] At block 314, if the input detected at block 308 is directed toplayback of time-based media data (e.g., the user clicks an icon in thedrawer), flow passes to block 316, where the time-based media file isplayed back by the time-based media player. For example, the user mayclick on a time-based media icon in the drawer that references atime-based media file, such as a QuickTime movie, that is stored locallyor at a remote server. The movie would then be retrieved and played backfrom local storage or streamed to the user's local system where themedia player would display the movie (e.g., in the display window 202)and/or playback audio tracks of the movie.

[0115] Otherwise, flow passes to block 318, where the drawer window isaltered. Such alteration may include dragging an icon or file name fromanother location in the user's computer system (e.g., the desktop orother directory/location) to a well of the drawer or visa versa;dragging a time-based media icon from one well location to another welllocation; deleting a time-based media icon from the drawer; etc.

Adaptive Chapter/Time Selection

[0116]FIG. 12A is a flow diagram illustrating a method for providingadaptive chapter/time selection for play back or other processing oftime-based media in a GUI, according to one embodiment of the invention.Flow begins at block 330.

[0117] At block 332, a time-based media player window, such as the mediaplayer 200 window shown in FIG. 3A, is displayed.

[0118] At block 334, media time and/or chapter control and/or displaymechanisms are displayed. For example, in one embodiment, suchmechanisms may include a time display (e.g., the time display 262 shownin FIGS. 8A and 8B), a time bar with selection markers and/or a currenttime indicator (such as shown in FIGS. 8A and 8B), and/or a chapterdisplay/control (e.g., the adaptive chapter display/control 260 shown inFIGS. 8A and 8B).

[0119] At block 336, input is detected to alter a time or chapter (whichtwo are typically, but not necessarily linked). For example, such inputmay include a user placing the cursor in the chapter display/control orthe time display and then dragging the cursor up or down to scroll up ordown through chapters (or time).

[0120] At block 338, based on a characteristic of the input, the timeand/or chapter is adaptively changed. In one embodiment, thecharacteristic includes the speed in which a cursor is dragged over thechapter display/control (or time display). Based on measuring the timein which the cursor covers a specified distance, the cursor draggingspeed is determined. Once the drag speed is determined, the speed inwhich the displayed chapters in the chapter display/control are scrolledis varied in direct proportion to the cursor drag speed. As such, a usercan control the speed he/she wishes to scroll through and view chaptersor time by using various cursor dragging speeds to obtain directlyproportional scrolling speeds.

[0121]FIG. 12B shows a representation of a graphical user interfacewhich may be used with a method shown in FIG. 12A. The interface shownin FIG. 12B is similar to the adaptive chapter portion of the interfaceshown in FIGS. 7A and 7B. It will be appreciated that the chapterdisplay area 339 a of FIG. 12B may display the names of the chapters(e.g. swim excitedly) rather than the designator “chapter” with anumeral as shown in FIG. 12B. The designator chapter 339 b mayalternatively say sections or other designators to indicate portions ofthe time-based media. A numeral region 339 d may display a numeralindicating the chapter number and this area 339 d may provide forscrolling of numerals within the area in response to selecting thechapter region 339 a. This selection may be performed by positioning thecursor 339 c in the chapter area and then dragging the cursor in an upor down direction. The arrows 339 e and 339 f represent differentvelocities of the drag which will in turn cause different scrollingspeeds within the numeral area 339 d. In this manner, the user maycontrol the scrolling speed of the chapter designators (e.g. chapternumerals or titles) by controlling the speed of the cursor during a dragof the cursor over the chapter area 339 a.

Auxiliary Drawer/Tray Windows

[0122]FIG. 13 is a flow diagram illustrating a method for providingauxiliary drawers/trays for a time-based media player generated as aGUI, according to one embodiment of the invention. Flow begins at block340.

[0123] At block 342, a time-based media player window, such as the mediaplayer 200 window shown in FIG. 3A, is displayed.

[0124] At block 344, input is detected to open one or more auxiliarydrawer windows, such as the information drawer 250 or control drawer252, described above with reference to FIGS. 6A-6B. The input mayinclude the selection of a button displayed on the window (e.g. clickingof a pointing device select button (e.g., a mouse button) with thecursor over an icon that controls the auxiliary drawer window to beopened).

[0125] At block 346, the auxiliary drawer window is “opened” fordisplay. In one embodiment, the auxiliary drawer is of a predeterminedsize. In alternative embodiments, one or more auxiliary drawers may beselectively displayed at various sizes (e.g., under user control), forexample, as depicted by the drawer window shown in FIGS. 4-5A. Theauxiliary drawer may provide information about time-based media and/orprovide mechanisms for play back or other processing of time-basedmedia. Such mechanisms may include display and/or control of bass,treble, balance; a graphic equalizer; forward/backward rewind, scan,skip, etc., or other controls for play back or processing of time-basedmedia information such as audio, video, or a combination thereof. Oncethe auxiliary drawer is displayed, various controls may be modified orselected by the user.

Software Overview

[0126]FIG. 14 is a block diagram of a machine-readable medium storingexecutable code and/or other data to provide one or a combination ofmechanisms for play back or other processing of time-based media in aGUI, according to one embodiment of the invention. The machine-readablestorage medium 350 represents one or a combination of various types ofmedia/devices for storing machine-readable data, which may includemachine-executable code or routines. As such, the machine-readablestorage medium 350 could include, but is not limited to one or acombination of a magnetic storage space (e.g., a hard or floppy disk),magneto-optical storage, tape, optical storage (e.g., CD ROM, DVD,etc.), dynamic random access memory (DRAM), static RAM (SRAM), flashmemory, etc.

[0127] The medium 350 is shown storing a time-based media player routine352 which, when executed, provides a time-based media player as a GUIsuch as the player 200. The time-based media player routine 352 includesa number of mechanisms for playing back or otherwise processingtime-based media processed by the time-based media player. For example,a drawer routine 354 generates a drawer window, such as drawer 230, fordisplay. The drawer may contain wells for displaying one or morereferences (icons) to media, such as files/channels, which may be storedlocally by a digital processing coupled to the medium 350, or by aremote system, such as a time-based media Web server. The drawer routine354 may also facilitate altering of the drawer to add, delete,rearrange, select for play back, etc., icons displayed therein. Anadaptive time/chapter selection routine 356 allows adaptively varyingthe display of time or chapter information (e.g., the speed at whichsuch information is displayed as being scrolled, as described inconjunction with FIGS. 12A and 12B) in response to detection of an inputcharacteristic (e.g., cursor drag speed when user input causes suchinformation to be varied). A time bar selection marker routine 358provides a time bar for display, as well as select start/end and currenttime marker functionality, as described, for example, with reference toFIGS. 8A-8C or 8D-8F. A streaming status message routine 360 providestreaming of status messages, for example, as described above withreference to FIGS. 9A-9B or 9C-9H. A player/display window resizingroutine allows resizing of a time-based media player window and/or amotion video display window according to one or more of the methodsdescribed above, for example, with reference to FIGS. 10A-10F. Finally,an auxiliary drawer routine provides display areas in the form ofdrawers in addition to or in lieu of the favorite/channel drawer, whichauxiliary drawers may provide information or additional mechanisms fordisplay and play back or other processing of media.

[0128] The machine readable storage medium may also store an operatingsystem (OS) 366, which may provide a graphical window/icon orientedenvironment; a data communication routine 370 that facilitates transferof media and/or other information over a digital processing network;and/or stored/buffered time-based media 368.

[0129] It will be appreciated that alternative embodiments of the GUIfor processing time-based information may include fewer or more of thefunctions described herein. Furthermore, the invention may beimplemented in any combination of hardware and/or software.

Alternative Embodiments

[0130] While the invention has been described in terms of severalembodiments and illustrative figures, those skilled in the art willrecognize that the invention is not limited to the embodiments orfigures described. In particular, the invention can be practiced inseveral alternative embodiments that provide one or a combination ofmechanisms for playing back or otherwise processing time-based mediainformation (e.g., QuickTime movies) in a graphical user interface.Furthermore, the icons in a drawer may represent media other thantime-based media, such as still images or interactive content or Webpage links, etc.

[0131] Therefore, it should be understood that the method and apparatusof the invention can be practiced with modification and alterationwithin the spirit and scope of the appended claims. The description isthus to be regarded as illustrative instead of limiting on theinvention.

What is claimed is:
 1. A method for selecting a presentation of atime-based media, said method comprising: displaying a graphicalrepresentation of a time line for said time-based media; displaying agraphical representation of a current time along said graphicalrepresentation of said time line; displaying a start graphical indicatorand a stop graphical indicator along said graphical representation ofsaid time line; dragging at least one of said start graphical indicatorand said stop graphical indicator along said graphical representation ofsaid time line to select a portion of said time-based media forpresentation.
 2. A method as in claim 1 further comprising: presentingonly said portion of said time-based media, and wherein said currenttime represents a current frame and wherein said current frame isupdated in response to said dragging and said current frame is displayedin response to said dragging.
 3. A method as in claim 2 wherein saiddragging comprises associating a cursor with said at least one of saidstart graphical indicator and said stop graphical indicator and movingsaid cursor while said cursor is associated with said at least one ofsaid start graphical indicator and said stop graphical indicator.
 4. Amethod as in claim 3 wherein said graphical representation of saidcurrent time is capable of being dragged along said graphicalrepresentation of said time line and said current frame is updated inresponse to said graphical representation of said current time beingdragged.
 5. A method as in claim 4 wherein said graphical representationof said time line comprises an overall start indicator which representsthe beginning in time of the entire stream of said time-based media andcomprises an overall end indicator which represents the end in time ofsaid entire stream and wherein said start graphical indicator and saidstop graphical indicator may be dragged to positions along saidgraphical representation of said time line between said overall startindicator and said overall end indicator.
 6. A method as in claim 5wherein said time-based media comprises a time sequential series ofvisual displays and said presenting displays a portion of said visualdisplays.
 7. A method as in claim 6 wherein said dragging comprisesdragging both said start graphical indicator and said stop graphicalindicator in separate dragging operations.
 8. A method as in claim 3further comprising: displaying an indicator of a section of saidtime-based media and updating said indicator in response to saiddragging.
 9. A method as in claim 8 wherein said section represents achapter in said time-based media.
 10. A method as in claim 3 furthercomprising: displaying a numerical representation of said current timeand updating said numerical representation of said current time inresponse to said dragging.
 11. A method as in claim 10 furthercomprising: displaying an indicator of a section of said time-basedmedia and updating said indicator in response to said dragging;modifying a presentation of said graphical representation of said timeline in response to said dragging.
 12. A machine readable medium havingstored thereon executable program code which, when executed, causes amachine to perform a method for selecting a presentation of a time-basedmedia, said method comprising: displaying a graphical representation ofa time line for said time-based media; displaying a graphicalrepresentation of a current time along said graphical representation ofsaid time line; displaying a start graphical indicator and a stopgraphical indicator along said graphical representation of said timeline; dragging at least one of said start graphical indicator and saidstop graphical indicator along said graphical representation of saidtime line to select a portion of said time-based media for presentation.13. A machine readable medium as in claim 12, said method furthercomprising: presenting only said portion of said time-based media, andwherein said current time represents a current frame and wherein saidcurrent frame is updated in response to said dragging and said currentframe is displayed in response to said dragging.
 14. A machine readablemedium as in claim 13, wherein said dragging comprises associating acursor with said at least one of said start graphical indicator and saidstop graphical indicator and moving said cursor while said cursor isassociated with said at least one of said start graphical indicator andsaid stop graphical indicator.
 15. A machine readable medium as in claim14, wherein said graphical representation of said current time iscapable of being dragged along said graphical representation of saidtime line and said current frame is updated in response to saidgraphical representation of said current time being dragged.
 16. Amachine readable medium as in claim 15 wherein said graphicalrepresentation of said time line comprises an overall start indicatorwhich represents the beginning in time of the entire stream of saidtime-based media and comprises an overall end indicator which representsthe end in time of said entire stream and wherein said start graphicalindicator and said stop graphical indicator may be dragged to positionsalong said graphical representation of said time line between saidoverall start indicator and said overall end indicator.
 17. A machinereadable medium as in claim 16 wherein said time-based media comprises atime sequential series of visual displays and said presenting displays aportion of said visual displays.
 18. A machine readable medium as inclaim 17 wherein said dragging comprises dragging both said startgraphical indicator and said stop graphical indicator in separatedragging operations.
 19. A machine readable medium as in claim 14, saidmethod further comprising: displaying an indicator of a section of saidtime-based media and updating said indicator in response to saiddragging.
 20. A machine readable medium as in claim 19 wherein saidsection represents a chapter in said time-based media.
 21. A machinereadable medium as in claim 14, said method further comprising:displaying a numerical representation of said current time and updatingsaid numerical representation of said current time in response to saiddragging.
 22. A machine readable medium as in claim 21, said methodfurther comprising: displaying an indicator of a section of saidtime-based media and updating said indicator in response to saiddragging; modifying a presentation of said graphical representation ofsaid time line in response to said dragging.
 23. A digital processingsystem for selecting a presentation of a time-based media, said digitalprocessing system comprising: means for displaying a graphicalrepresentation of a time line for said time-based media; means fordisplaying a graphical representation of a current time along saidgraphical representation of said time line; means for displaying a startgraphical indicator and a stop graphical indicator along said graphicalrepresentation of said time line; means for dragging at least one ofsaid start graphical indicator and said stop graphical indicator alongsaid graphical representation of said time line to select a portion ofsaid time-based media for presentation.
 24. A system as in claim 23further comprising: means for presenting only said portion of saidtime-based media, and wherein said current time represents a currentframe and wherein said current frame is updated in response to saiddragging and said current frame is displayed in response to saiddragging.
 25. A system as in claim 24 wherein said dragging comprisesassociating a cursor with said at least one of said start graphicalindicator and said stop graphical indicator and moving said cursor whilesaid cursor is associated with said at least one of said start graphicalindicator and said stop graphical indicator.
 26. A system as in claim 25wherein said graphical representation of said current time is capable ofbeing dragged along said graphical representation of said time line andsaid current frame is updated in response to said graphicalrepresentation of said current time being dragged.
 27. A system as inclaim 26 wherein said graphical representation of said time linecomprises an overall start indicator which represents the beginning intime of the entire stream of said time-based media and comprises anoverall end indicator which represents the end in time of said entirestream and wherein said start graphical indicator and said stopgraphical indicator may be dragged to positions along said graphicalrepresentation of said time line between said overall start indicatorand said overall end indicator.
 28. A system as in claim 27 wherein saidtime-based media comprises a time sequential series of visual displaysand said presenting displays a portion of said visual displays.
 29. Asystem as in claim 28 wherein said dragging comprises dragging both saidstart graphical indicator and said stop graphical indicator in separatedragging operations.
 30. A system as in claim 25 further comprising:means for displaying an indicator of a section of said time-based mediaand updating said indicator in response to said dragging.
 31. A systemas in claim 30 wherein said section represents a chapter in saidtime-based media.
 32. A system as in claim 25 further comprising: meansfor displaying a numerical representation of said current time andupdating said numerical representation of said current time in responseto said dragging.
 33. A system as in claim 32 further comprising: meansfor displaying an indicator of a section of said time-based media andupdating said indicator in response to said dragging; means formodifying a presentation of said graphical representation of said timeline in response to said dragging.
 34. A digital processing systemcomprising: a digital processor coupled to a display device; a memorycoupled to said digital processor, said memory receiving a time-basedmedia for display on said display device, said processor: displaying agraphical representation of a time line for said time-based media;displaying a graphical representation of a current time along saidgraphical representation of said time line; displaying a start graphicalindicator and a stop graphical indicator along said graphicalrepresentation of said time line; allowing dragging of at least one ofsaid start graphical indicator and said stop graphical indicator alongsaid graphical representation of said time line to select a portion ofsaid time-based media for presentation.
 35. A digital processing systemas in claim 34, wherein said processor presents only said portion ofsaid time-based media and wherein said current time represents a currentframe and wherein said current frame is updated in response to saiddragging and said current frame is displayed in response to saiddragging.
 36. A digital processing system as in claim 35 wherein saiddragging comprises associating a cursor with said at least one of saidstart graphical indicator and said stop graphical indicator and movingsaid cursor while said cursor is associated with said at least one ofsaid start graphical indicator and said stop graphical indicator.
 37. Adigital processing system as in claim 36 wherein said graphicalrepresentation of said current time is capable of being dragged alongsaid graphical representation of said time line and said current frameis updated in response to said graphical representation of said currenttime being dragged.
 38. A digital processing system as in claim 37wherein said graphical representation of said time line comprises anoverall start indicator which represents the beginning in time of theentire stream of said time-based media and comprises an overall endindicator which represents the end in time of said entire stream andwherein said start graphical indicator and said stop graphical indicatormay be dragged to positions along said graphical representation of saidtime line between said overall start indicator and said overall endindicator.
 39. A digital processing system as in claim 38 wherein saidtime-based media comprises a time sequential series of visual displaysand said presenting displays a portion of said visual displays.
 40. Adigital processing system as in claim 39 wherein said dragging comprisesdragging both said start graphical indicator and said stop graphicalindicator in separate dragging operations.
 41. A digital processingsystem as in claim 36 wherein said processor displays an indicator of asection of said time-based media and updating said indicator in responseto said dragging.
 42. A digital processing system as in claim 42 whereinsaid section represents a chapter in said time-based media.
 43. A methodfor providing a user interface, said user interface providingfunctionality for processing time-based media, said method comprising:detecting input to change a portion of said graphical user interfacebeing displayed, wherein said portion indicates time relating to saidtime-based media; determining an input speed of said input to changesaid portion; and determining a rate at which to change said portion,said rate being dependent on said input speed; and changing informationdisplayed in said portion at said rate.
 44. The method of claim 43,further comprising: storing said time-based media as a QuickTime movie.45. The method of claim 44, further comprising: storing said time-basedmedia at a remote location accessible through a data processing network.46. The method of claim 44, further comprising: storing said time-basedmedia on a machine-readable medium at a local location.
 47. The methodof claim 43, further comprising: displaying in said portion textinformation indicating a chapter of said time-based media file; and inresponse to said input, scrolling through a plurality of chapters at ascroll rate that depends on said input speed.
 48. The method of claim43, wherein said input comprises: placing a cursor over said portion;and dragging said cursor in a first direction to change the display insaid portion.
 49. The method of claim 43, wherein said time-based mediafile comprises one of video data, audio data, visual data, and acombination of audio and video data.
 50. The method of claim 43, furthercomprising: displaying in said portion a time bar that indicates time insaid time-based media.
 51. The method of claim 50, further comprising:using at least one display select marker to select a range of time onsaid time bar, said range of time corresponding to a range of time insaid time-based media.
 52. A machine readable medium having storedthereon executable code which causes a machine to perform a method forgenerating a user interface, said user interface to providefunctionality for processing time-based media data, said methodcomprising: detecting input to change a portion of said graphical userinterface that indicates time relating to said time-based media;determining an input speed of said input to change said portion;determining a rate at which to change said portion, said rate beingdependent on said input speed; and changing information displayed insaid portion at said rate.
 53. The machine readable medium of claim 52,wherein said method further comprises: storing said time-based media asa QuickTime movie.
 54. The machine readable medium of claim 53, whereinsaid method further comprises: storing said time-based media at a remotelocation accessible through a data processing network.
 55. The machinereadable medium of claim 53, wherein said method further comprises:storing said time-based media on a machine-readable medium at a locallocation.
 56. The machine readable medium of claim 52, wherein saidmethod further comprises: displaying text information indicating achapter of said time-based media file; and in response to said input,scrolling through a plurality of chapters at a scroll rate that dependson said input speed.
 57. The machine readable medium of claim 52,wherein said method further comprises: placing a cursor over saidportion; and dragging said cursor in a first direction to change saidinformation displayed in said portion at said rate.
 58. The machinereadable medium of claim 52, wherein said time-based media filecomprises one of video data, audio data, and a combination of audio andvideo data.
 59. The machine readable medium of claim 52, wherein saidmethod further comprises: displaying a time bar that indicates time insaid time-based media.
 60. The machine readable medium of claim 59,wherein said method further comprises: using at least one display selectmarker to select a range of time on said time bar, said range of timecorresponding to a range of time in said time-based media.
 61. Anapparatus for generating a user interface, said user interface toprovide functionality for processing time-based media data, saidapparatus comprising: a first means for detecting input to change aportion of said graphical user interface being displayed, wherein saidportion indicates time relating to said time-based media; a second meansfor determining an input speed of said input to change said portion; anda third means for determining a rate at which to change said portion,said rate being dependent on said input speed; and a fourth means forchanging information displayed in said portion at said rate.
 62. Theapparatus of claim 61, further comprising: a storing means for storingsaid time-based media as a QuickTime movie.
 63. The apparatus of claim62, wherein said storing means is for storing said time-based media at aremote location accessible through a data processing network.
 64. Theapparatus of claim 62, further comprising: a machine-readable mediumstoring means for storing said time-based media at a local location. 65.The apparatus of claim 61, further comprising: a fifth means fordisplaying in said portion text information indicating a chapter of saidtime-based media file; and a sixth means for scrolling through aplurality of chapters at a scroll rate that depends on said input speed.66. The apparatus of claim 61, further comprising: a cursor controlmeans for placing a cursor over said portion; and said cursor controlmeans further for allowing dragging said cursor in a first direction tochange the display in said portion.
 67. The apparatus of claim 61,wherein said time-based media comprises one of video data, audio data,visual data, and a combination of audio and video data.
 68. The methodof claim 61, further comprising: a fifth means for displaying in saidportion a time bar that indicates time in said time-based media.
 69. Themethod of claim 68, further comprising: a select marker means forselecting a range of time on said time bar, said range of timecorresponding to a range of time in said time-based media.